System and method for generating an animatable character

ABSTRACT

A system and method are disclosed for generating an animatable object. A skeleton of the desired character is constructed by the user utilizing various predetermined components. These predetermined components include a various selection of rods and joints. The rods are static components which remain rigid during motion, while the various joints are moveable components. A static digitized image, for example, an image of the user, is utilized and a constructed skeleton is superimposed onto it. The desired object, such as the image of the user, can then be extracted from the background of the digital image and the resulting personal character can then be animated, for instance by selecting and dragging one of the hands with a mouse.

This is a (X) Continuation of application Ser. No. 10/045,662, filedOct. 18, 2001, now U.S. Pat. No. 7,184,048 which claims priority to U.S.patent application Ser. No. 09/173,583, now U.S. Pat. No. 6,384,819,filed Oct. 15, 1998, which claims priority to U.S. Provisional PatentApplication No. 60/062,361, filed Oct. 15, 1997, which is herebyincorporated by reference.

CROSS REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional PatentApplication No. 60/062,361, filed on Oct. 15, 1997, entitled A SYSTEMAND METHOD FOR GENERATING AN ANIMATABLE CHARACTER by inventor Kevin L.Hunter, the disclosure of which is incorporated herein by reference forall purposes.

This application is related to co-pending U.S. patent application Ser.No's. 08/951,089; 60/062,068; 08/951,087; and 08/951,003, respectively),all filed Oct. 15, 1997 respectively, are incorporated herein byreference for all purposes.

FIELD OF THE INVENTION

The present invention relates generally to a method and system forgenerating graphics in a computer system. More particularly, the presentinvention relates to generating an animatable object such that a usercan generate and animate the object easily and effectively.

BACKGROUND OF THE INVENTION

With the explosive growth and popularity of computer games and Internetinteraction, the use of images, especially images of objects such asanimated characters, are becoming more prominent. Animated charactersare commonly used in computer games to represent either the player orother various components of the game. Likewise, there are also numerouspotential uses of an animatable character for use with Internetinteraction. For example, an animated character could represent a userin a chat room on the Internet to provide more interactivity thanconventional chat rooms. Another example is a community “room” where acharacter, used as a visual representation of a user, can roam andexplore various parts of the community “room”.

Typically, these objects, such as animatable characters, are laboriouslycreated by a computer programmer through the use of codes which aretypically too complex for the average user to utilize. Characters areoften crafted by an artist and entered into a computer. Accordingly,these animatable objects and characters are typically predetermined andis normally not easily customized by the user. Additionally,conventional character generation and animation methods typically do notfacilitate approximate real-time customized interaction with apredetermined environment or between two customized animatablecharacters. For instance, using conventional methods, it would beextremely difficult and expensive for each game player to use acustomized animatable character in a real-time game. Conventionalanimation methods typically utilize a series of static images with veryminor changes to simulate motion. Using this conventional technique, itwould be extremely difficult and costly to generate a series of staticimages immediately after a motion command is received such thatapproximate real-time game playing is feasible. Alternatively, apredetermined sequence of motions can be pre-programmed. However,motions pre-programmed by a programmer are highly labor intensive andcould severely limit motion and reaction by the animated object.Likewise, similar problems occur in Internet interaction betweenanimatable characters under the control of users.

Accordingly, what is needed is a system and method for quickly andeffectively generating a customized animatable character in a computersystem. The present invention addresses such a need.

SUMMARY OF THE INVENTION

The present invention provides a system and method for generating ananimatable object in a computer system. The generation of the animatableobject is simple and effective enough to allow a user to generate acustomized object such as an animatable character which resembles theuser. Additionally, once the animatable object is generated, informationregarding the generation of the object can be sent to another computer,for example, it can be transmitted through a network such as theInternet. Once the object has been generated at the receiving computer,only data regarding the motions of the generated object need be sent tothe receiving computer in order to animate the object.

A skeleton of the desired character is constructed by the user utilizingvarious predetermined components. Alternatively, a generalizedpre-constructed skeleton constructed from the predetermined componentscan be made available for the user. These predetermined componentsinclude a various selection of rods and joints. The rods are rigidcomponents which remain rigid during motion, while the various jointsare moveable components. A static digitized image, for example, an imageof the user, is utilized and the constructed skeleton is superimposedonto it. The desired object, such as the image of the user, can then beextracted from the background of the digital image, superimposed ontothe skeleton, and the resulting personal character can then be animated,for instance by selecting and dragging one of the hands with a mouse.

A system and method according to the present invention for generating ananimatable object in a computer system comprises the steps ofconstructing a skeleton of a predetermined object; and superimposing theskeleton with a digital image, wherein the digital image includes thepredetermined object.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention, together with further objects and advantages thereof, maybest be understood by referencing the following description taken inconjunction with the accompanying drawings in which:

FIG. 1 is a schematic illustration of a general purpose computer systemsuitable for implementing the present invention.

FIG. 2 is a flow diagram of a method for generating an animatable objectaccording to the present invention.

FIGS. 3A-3G illustrate the steps of the method according to the presentinvention as shown in FIG. 2.

FIG. 4 is an illustration of the generated animatable object afterportions of it have been moved.

FIG. 5 is a flow diagram of a method according to the present inventionfor utilizing the generated animatable object.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

Reference will now be made in detail to a preferred embodiment of theinvention. An example of the preferred embodiment is illustrated in theaccompanying drawings. While the invention will be described inconjunction with a preferred embodiment, it will be understood that itis not intended to limit the invention to one preferred embodiment. Tothe contrary, it is intended to cover alternatives, modifications, andequivalents as may be included within the spirit and scope of theinvention as defined by the appended claims.

The present invention employs various processes involving data stored incomputer systems. These processes are those requiring physicalmanipulation of physical quantities. Usually, though not necessarily,these quantities take the form of electrical or magnetic signals capableof being stored, transferred, combined, compared, and otherwisemanipulated. It is sometimes convenient, principally for reasons ofcommon usage, to refer to these signals as bits, values, elements,variables, characters, data structures, or the like. It shouldremembered, however, that all of these and similar terms are to beassociated with the appropriate physical quantities and are merelyconvenient labels applied to these quantities.

FIG. 1 is a schematic illustration of a general purpose computer system100 suitable for implementing the process of the present invention. Thecomputer system includes a central processing unit (CPU) 102, which CPUis coupled bi-directionally with random access memory (RAM) 104 andunidirectionally with read only memory (ROM) 106. Typically RAM 104includes programming instructions and data, including text objects asdescribed herein in addition to other data and, instructions forprocesses currently operating on CPU 102. ROM 106 typically includesbasic operating instructions, data and objects used by the computer toperform its functions. In addition, a mass storage device 108, such as ahard disk, CD ROM, magneto-optical (floptical) drive, tape drive or thelike, is coupled bi-directionally with CPU1 02. Mass storage device 108generally includes additional programming instructions, data and textobjects that typically are not in active use by the CPU, although theaddress space may be accessed by the CPU, e.g, for virtual memory or thelike. The system is also shown to include a visual input device, such asa camera 150. Additionally, the CPU is also coupled to a display 152.Each of the above described computers further includes an input/outputsource 110 that typically includes input media such as a keyboard,pointer devices (e.g., a mouse or stylus) and the like. Each computercan also include a network connection 112 over which data, including,e.g, text objects, and instructions can be transferred. Additional massstorage devices (not shown) may also be connected to CPU 102 throughnetwork connection 112. It will be appreciated by those skilled in theart that the above described hardware and software elements are ofstandard design and construction.

FIG. 2 is a flow diagram of a method for generating a characteraccording to the present invention. A character, as herein referred to,includes any object displayable on a display, such as a computerdisplay. Preferably, the generated character is animatable. The termanimatable is herein meant to include the display or presentation of amotion or a series of motions.

A topology of a skeleton is determined via step 300. A skeleton isherein referred to include any rough approximation of an object. Forinstance, a skeleton can include an outline of a person, or an objectsuch as a chair. When the user determines the topology of a skeleton,the user can roughly estimate what shape the desired character willhave. For example, the user can decide to create a personal character ofhimself. In doing so, the user determines that the topology of theskeleton will include a head portion, a body portion, two arm portions,and two leg portions.

It is then determined where motion will occur via step 302. In the givenexample, the user can determine that motion will occur at the shoulders,the elbows, the wrists, the waist, the hip joints, the knees, and theankles.

Next, the user can construct various components of the skeleton fromestablished parts via step 304. The established parts preferably includerods and joints, wherein the rods are sections which remain rigid duringmotion and the joints are movable sections. Preferably, the rodsmaintain their geometric parameters during motion.

The skeleton is then positioned over a digital image via step 306, andthe digital image is prepared via step 308. The desired object in thedigital image is preferably positioned such that joint angles are asclose to zero as possible. For example, if the desired object is aperson, it is preferred that the digital image of the person shows theperson in a stance where the arms are separated from the body, such asparallel to the floor, and the legs spread apart.

Preparation of the digital image can include preparation such asbackground subtraction and real time capture of the image. Backgroundsubtraction is described in detail in co-pending U.S. Ser. No.08/951,089, filed Oct. 15, 1997, assigned to the same assignee as thepresent invention, herein incorporated by reference. Real time captureof the image is described in detail in U.S. Provisional Ser. No.60/062,068, filed Oct. 15, 1997, assigned to the same assignee as thepresent invention, also herein incorporated by reference. Alternatively,preparation of the digital image can be simplified through the use of apredefined background such as that described in detail in co-pendingU.S. Ser. No. 08/951,087. Although these examples of the preparationprocesses are described in detail in the above identified co-pendingU.S. applications, these processes will briefly be summarized herein.

The main objective of the preparation of the digital image via step 308is to obtain a clean image of the desired object located within thedigital image. This objective can be accomplished in one of severalways. For example, one way is to subtract the background and identifythe desired object in its entirety. Background subtraction attempts toextract the desired object from the remaining portions of the digitalimage. One method of identifying the desired object is to take a photoof the background, then take another photo with the desired objectlocated in front of the background. The first photo can be compared withthe second photo and the new object identified. The background can thenbe automatically subtracted such that an approximate image of thedesired object can be derived.

For a cleaner image of the desired object, the background subtractionmethod can be performed in conjunction with utilizing the skeleton asparameters for determining the background versus the desired object. Ifa portion of the image is within the parameters of the skeleton, then itcan be considered as part of the desired object. If a portion of theimage is outside the parameters of the skeleton, then it should beconsidered part of the background. For example, if a cat hasinadvertently walked into the second photo, the cat would not beconsidered part of the desired object since the figure of the cat is notpart of the skeleton.

Another way to subtract the background is by using a predefinedbackground such as a box colored blue. When the desired object is placedin front of the predefined background, it is easier to determine what isthe background and what is the desired object.

Yet another way to subtract the background is by manually extracting thedesired object. The desired object can be manually extracted from thebackground by manually outlining the desired object from the background.In using the manually extraction method, the digital image is preparedprior to positioning the skeleton over the digital image. Accordingly,step 308 of FIG. 2 occurs prior to step 306. Using this manual methodallows the desired object to be extracted from a single digital image.

The parameters of the skeleton are then adjusted to surround the entiredesired object in the digital image via step 310. Texture maps are thenlaminated onto the skeleton via step 312 using well-known texturemapping techniques. The appearance of the joints is likely to improve ifthe skeleton is adjusted tightly around the desired object. Moreover, ingeneral, the texture maps will require less storage space if theskeleton is adjusted tightly around the desired object.

FIGS. 3A-3G illustrate step 300-312 of the method described in FIG. 2.The topology of the skeleton is determined as shown in FIG. 3A. Thelocations where motion will occur is then determined as shown in FIG.3B. In this example, a skeleton 400 of a person is shown in FIGS. 3A and3B. FIG. 3B also shows some of the locations where motion will occur atpoints 402A-402D.

FIG. 3C shows an example of a skeleton 400″ which is constructed fromestablished parts. These established parts include rods 404 and joints406. When a component of the skeleton 400″ is moved, the rods 404 remainrigid while the joints 406 can flex and/or rotate. Note that theparameters and dimensions of the rods and joints can be changed, forexample, elongated, shrunk, or angled. However, during motion of aparticular component, the dimensions of the rods remain fixed. Joints406 which can be used for the skeleton are described in detail inco-pending U.S. application Ser. No. 08/951,083, filed Oct. 15, 1997,assigned to the same assignee as the present invention, as hereinincorporated by reference. For ease of reference, a brief description ofexamples of joints which can be used on the skeleton is included herein.

Various joint designs may be used to accomplish the end result ofsubstantial structural integrity of the rods during and immediatelyafter movement. Two examples of joints which can be used are what isherein referred to as center pin joints, and center radial joints.Either of the exemplary joints can be made from various geometricshapes. Preferably, they are a compilation of polygons. For example,these joints can be created out of two or more rectangles, trapezoids,or triangles.

The center pin joint is a non-segmented joint. A non-segmented joint isherein meant to describe a joint which consists of approximately twopolygons. The center pin joint can be imagined as taking two abuttingrectangles and sticking a pin through the center of the common edge.Both halves of the joint experience no substantial distortion as thejoint angle is varied. However, the center pin joint may bediscontinuous in some way when one portion of the joint is beingrotated. For example, when a lower arm of a character is moved, atriangular gap may appear between the upper arm and the lower arm.

The center radial joint is a segmented joint. Segmented joints have theproperties that they appear to retain texture map continuity when thejoint is rotated, however, the interiors of the segments will be warpedin some manner. For example, when a lower arm of the character is moved,no gap will appear between the upper arm and the lower arm since thesegments of the segmented joint will warp to cover that section.Segmented joints can consist of two or more geometric shapes such aspolygons.

FIG. 3D illustrates the skeleton 400″ being overlaid with the desiredobject of a prepared digital image, in this case, a person 410, tocreate a customized character.

FIG. 3E shows the desired object, in this case a person, after thedigital image has been prepared via step 308 of FIG. 2. The backgroundhas been subtracted and the desired object 410 is clearly defined. Aspreviously mentioned, details of examples of methods for the preparationof the digital image are discussed in co-pending applications which areherein incorporated by reference. As previously stated, a clean image ofthe desired object can be obtained by several ways. One method is for aperson to follow the outlines of the desired object, thereby “cuttingout” the desired object and “pasting” the desired object onto theskeleton. Another method is to photograph the background image withoutthe desired object, then photograph the desired object in front of thebackground and perform a background subtraction based on subtracting thefirst image from the second image. Additionally, to obtain a cleanerimage than what the background subtraction can provide, the backgroundsubtraction can be performed in conjunction with the parameters of theskeleton such that anything outside the skeleton will be subtracted asbackground and portions inside the skeleton can be determined as part ofthe desired object. This preparation method can avoid situations such asdark spots within the center of the desired object or additional objectsaside from the desired object being included as part of the desiredobject.

FIGS. 3F and 3G illustrate the texture mapping step 312 of FIG. 2.Texture mapping is well known in the field of art. For example, basicprinciples of texture mapping can be found in Advanced Animation &Rendering Techniques, Chapter 6, “Mapping Technique: Texture &Environmental Mapping”, Alan Watt, Mark Watt, Addison Wesley (1992).Laminating the texture map onto the skeleton allows consistency in thetexture of a component of the desired object when that component ismoved. For example, when an arm is moved from a vertical position to ahorizontal position, the stripes on the sleeve of the arm will alsoappear to move from the vertical position to the horizontal position.Texture mapping for purposes of the present invention can be performedin various ways, including affine mapping, perspective mapping, andbilinear mapping.

In the example shown in FIGS. 3F and 3G, a texture map area 454 isassociated with a portion of the character as shown in FIG. 3F. Theportion associated with the texture map area 454 is shown as an arm 450,which also includes a portion of a sleeve with stripes on it. The pixelsincluded in the area associated with the texture map area 454 are copiedand transformed from an (x,y) coordinate associated with the pixels to a(u,v) coordinate associated with the texture map area 454. Thetransformed, copied pixels are typically referred to as texels.

FIG. 3G shows the texture map area 454 including texels. A region 452 isassociated with the texture map area 454. The texture map area 454includes all the pixels within the area, which are typically referred toas texels. The texture map area 454 typically includes representativepoints, in this example, the vertices 456a-456d. Data related to thesevertices 456 a-456 d include (x,y) coordinates related to the displayand they also include (u,v) coordinates related to the texture mappingarea 454. The (u,v) coordinates of the vertices 456 a-456 d can bederived through various methods. One method of deriving the (u,v)coordinates is described below.

The (u,v) coordinates range from 0 to 1. The u and v coordinates can bederived as ratios to the height and width of the bounding texture maparea 454. For instance, if the top boundary 458 of the texture mappingarea 454 is one hundred texels wide and if the vertex 456 a is at thetwenty-fifth texel counting from the upper left corner of the texturemapping area 454, then the vertices 456 a will have a (u,v) coordinateof (0, 0.25). (25/100=0.25) The (u,v) coordinate does not changeregardless of how the character is moved within the display. Thus, thevertices 456 a-456 d can have their (x,y) coordinates changed withoutaffecting their (u,v) coordinates. When the texels are scanned, the(u,v) coordinate of the non-vertices texels are interpolated, such thatonly the (u,v) coordinates of the vertices 456 a-456 d need be stored.Additionally, only the image included in the region 452 will be scannedout, such that the remaining portions of the character outside theregion 452, but within the texture map area 454 will not be addressed.Accordingly, the texture appears consistent with the rest of the shirtwhen a portion of the shirt is moved.

FIG. 4 shows the resulting customized character with portions of thecharacter having been moved. Despite the fact that the customizedcharacter is initially created in a static pose, it is animatable afterit is created. For instance, although it is preferred that the desiredobject, such as a child, poses in a single pose, preferably arms out andlegs apart, this digitized image can be animated once the customizedcharacter of the child is created. In FIG. 4, the arms have been rotatedupward while the legs have been rotated in a clockwise direction. Thusthe customized character can be animated in whatever manner the userchooses.

Note that one of the advantages of the present invention is that a usercan create a customized character quickly and efficiently without theneed for programming in code and without a highly labor intensivesession. The user can “click and drag” a portion of the customizedcharacter, such as the arm, into a new position. Additionally,parameters and dimensions can be changed, for instance, the length ofthe legs can be changed and the waist of the customized character can becinched. Thus, once the customized character is created, the parameterof the skeleton can be changed and the desired object from the digitalimage changes along with the skeleton. The user may simply “click anddrag” certain points of the customized character such that the user canchange the parameters of the torso by clicking on a point in the wasteof the character dragging it closer in, thereby cinching the waste.

The customized characters can be the image of a person or an inanimateobject such as a teddy bear or a chair, or an imaginary character. Thesecustomized characters can be used in various ways, for example, they canbe animated, used as a personal representation of the user, or used in acomputer game. Because the customized character can have many degrees offreedom allowed by a large number of parameters, almost any type ofanimation is possible. Once the customized character is created, it is acoherent connected geometric model in which portions of the customizedcharacter can be moved in conjunction with the rest of the rest of thecustomized character rather than as a compilation of independent parts.Automatic animation can also be performed via a game or animationpackage. For animation of expression, for example on a person's face, acontinual capture of the person's face can be used to paste onto theface of the customized character.

Once created, the customized character can be stored in memory, perhapsin a file format. The customized character is a displayable primitivewhich can be recalled onto a display whenever the user prefers. Thecustomized character is an editable construct wherein the form of thecharacter can be changed to a user's preferences. For example, jointangles can be changed, motions can be made, and the customized charactercan be programmed to dance. Each component of the customized character,such as rods and joints, can be considered an object in an appropriateprogramming language, such as C++. Accordingly, commands may be sent toa body part to detach itself from the remaining body, or a body part canbe referenced by name and a command directed specifically to thatparticular body part.

Because the skeleton of the customized character is a coherent geometricmodel, either forward kinematics or inverse kinematics can be used toensure that when a portion of the customized character is moved, otherportions connected to it will behave according to a predetermined modelof motion. An example of forward kinematics is when the joints of an armof a customized character is moved, the hand attached to the arm willmove accordingly. An example of inverse kinematics is when a hand ismoved, the joints in the arm are consistent with the hand motion suchthat the rest of the arm will move appropriately to adjust to the newposition of the hand. The principles and applications of inversekinematics is well known in the field of art.

A further advantage of the method and system according to the presentinvention is the ability to transmit the data relating to the customizedcharacter over a network, such as the Internet. Once the data related tothe generation of the customized character has been transmitted, it isnot necessary to continually retransmit the generation data. Rather, thedata related to the generation of the customized character need only betransmitted and properly received once. To create animation, once thereceiver has received the data regarding the generation of thecustomized character, only data related to the animation would need tobe sent. For example, once the customized character has been received bythe receiver, the sender would merely need to send information such asjoint angles, position of body, possible rotation of body, changes inlength, and possibly changes in width. Accordingly, only changes to thecustomized character would need to be sent rather than re-sending thecustomized character in various animated forms such as would benecessary in a continuous stream of video.

Sending a continuous stream of video would be highly inefficient andcostly. In contrast, according to the method and system of the presentinvention, after the initial cost of sending data related to thecreation of the customized character, the customized character would notneed to be recreated in a different stance, rather only the changes tothe customized character would need to be sent. Merely sending thechanges would normally constitute such a small amount of data that twoplayers on a network such as the Internet could play a game together inappropriate real time with customized characters representing themselveswith each game player sending data regarding the changes to their owncustomized character to the other computer on the Internet.

FIG. 5 shows a basic flow diagram of a method according to the presentinvention for animating a customized character in a computer networksystem. Data related to the generation of a customized character istransmitted over a network via step 600, wherein the data related to thegeneration of the personal character no longer needed to be transmittedonce the object is generated. Thus, unlike a stream of video, or animage which needs to be refreshed regularly, once the data regarding thegeneration of the customized character is received, no further datarelated to the generation of the same customized character is required.Then, data related to an animation, or a change in any portion of thecustomized character is transmitted via step 602. Accordingly, only thechanges, such as changes in a particular joint angle, need to betransmitted through the network from that time forward.

A method and system for generating an animatable character has beendisclosed. Software written according to the present invention is to bestored in some form of computer-readable medium, such as memory orCD-ROM, or transmitted over a network, and executed by a processor.

While this invention has been described in terms of preferredembodiments, it is contemplated that alternations, modifications, andpermutations thereof will become apparent to those skilled in the artupon the reading of the specification and study of the drawing.Furthermore, certain terminology has been used for the purposes ofdescriptive clarity, and not to limit the present invention. It istherefore intended that the following appended claims include all suchalternations, modification, and permutations as fall within the truespirit and scope of the present invention.

1. A computer storage device including instructions that are executableby a computer to define an animation by: constructing a skeleton thatincludes a number of rods defining rigid portions of the skeleton andjoints where the rods can flex and/or rotate; superimposing the skeletonon a digital image obtained from a camera such that each rod of theskeleton coincides with a portion of an object in the digital image,wherein the portions of the object in the digital image that coincidewith the skeleton collectively illustrate the object; adjusting askeleton parameter to include pixels of the digital image that depictthe object and to define data for the object; obtaining a clean image ofthe object by performing background subtraction on the digital imagebased on skeleton parameters; transmitting the data for the object to asecond computer for display of the pixels that depict the object by thesecond computer; and transmitting information indicative of changes inrod position and joint angles in the skeleton to define the animation ofthe pixels that depict the object.
 2. A computer storage device asrecited in claim 1, wherein the skeleton is constructed of at least onepredetermined component.
 3. A computer storage device as recited inclaim 1, further comprising instructions that are executable by acomputer to apply a texture map to the skeleton.
 4. A computer storagedevice having instructions that are executable by a computer foranimating an object by: transmitting data related to a generation of adisplay of an object, wherein the data includes pixels of a capturedimage of the object and a skeleton that defines relative positions ofportions of the captured image of the object, wherein the pixels aredefined by a parameter of the skeleton and are obtained by performingbackground subtraction on the captured image of the object based onparameters of the skeleton, and wherein the data is no longertransmitted once the display of the object is generated; andtransmitting data related to changes in the skeleton to define a desiredanimation of the pixels of the captured image of the object.
 5. Acomputer storage device as recited in claim 4, wherein the data relatedto the generation of a display of the object and the change data relatedto the changes in the skeleton are transmitted via a network.
 6. Anarticle of manufacture including a computer-readable medium havinginstructions stored thereon that are executable by a computing device todefine an animation by: constructing a skeleton that includes a numberof rods defining portions of the skeleton; superimposing the skeleton ona digital image obtained from a camera, such that each rod of theskeleton is associated with a portion of an object in the digital image,wherein the portions of the object in the digital image that coincidewith the skeleton collectively illustrate the object; adjusting askeleton parameter to include pixels of the digital image that depictthe object and to define data for the object; obtaining a clean image ofthe object by performing background subtraction on the digital imagebased on skeleton parameters; transmitting the data for the object to asecond computing device for display of the pixels that depict the objectby the second computing device; and transmitting information indicativeof changes in rod position in the skeleton to define an animation of thepixels that depict the object.
 7. An article of manufacture as recitedin claim 6, further comprising instructions that are executable by acomputing device to apply a texture map to the skeleton.
 8. A system forgenerating and transmitting animation data, comprising: a centralprocessing unit; a visual input device; and a mass storage device havinginstructions stored thereon that are executable by the system to:superimpose a skeleton on a digital image obtained from the visual inputdevice, wherein the skeleton includes a number of rods defining portionsof the skeleton, and wherein superimposing the skeleton on the digitalimage associates each rod of the skeleton with a portion of the objectin the digital image; adjust a parameter of the skeleton to indicatepixels of the digital image that depict the object, thereby definingdata for the object; obtain a clean image of the object by performingbackground subtraction on the digital image based on skeletonparameters; transmit the data for the object to a computing device fordisplay of the pixels that depict the object by the second computingdevice; and transmit information indicative of relative changes in rodposition in the skeleton to define an animation of the pixels thatdepict the object.
 9. A system as recited in claim 8, wherein the massstorage device further includes instructions that are executable by thesystem to apply a texture map to the skeleton.
 10. A system, comprising:means for obtaining a digital image; means for creating a skeleton thatincludes a number of rods that define portions of the skeleton; meansfor superimposing the skeleton on the digital image, such that each rodof the skeleton is associated with a portion of an object in the digitalimage, wherein the portions of the object associated with the skeletoncollectively illustrate the object; means for adjusting a parameterassociated with the skeleton to designate pixels of the digital image asdepicting the object, thereby defining data for the object; means forobtaining a clean image of the object by performing backgroundsubtraction on the digital image based on parameters associated with theskeleton; means for transmitting the data for the object to a computingdevice for display of the pixels that depict the object by the secondcomputing device; and means for transmitting information indicative ofrelative changes in rod position in the skeleton to define an animationof the pixels that depict the object.
 11. A system as recited in claim10, further comprising means for laminating a texture map to theskeleton.
 12. An apparatus for animating an object, comprising: acentral processing unit; a visual input device; and a mass storagedevice having instructions stored thereon that are executable by acomputer to: transmit data related to a generation of a display of anobject, wherein the data includes pixels of a captured image of theobject and a skeleton that defines relative positions of portions of thecaptured image of the object, wherein the pixels are defined by aparameter of the skeleton and are obtained by performing backgroundsubtraction on the captured image of the object based on parameters ofthe skeleton, and wherein the data is no longer transmitted once thedisplay of the object is generated; and transmit data related to changesin the skeleton to define a desired animation of the pixels of thecaptured image of the object.
 13. A method for animating an object,comprising: transmitting data related to a generation of a display of anobject, wherein the data includes pixels of a captured image of theobject and a skeleton that defines relative positions of portions of thecaptured image of the object, wherein the pixels are defined by aparameter of the skeleton and are obtained by performing backgroundsubtraction on the captured image of the object based on parameters ofthe skeleton, and wherein the data is no longer transmitted once thedisplay of the object is generated; and transmitting data related tochanges in the skeleton to define a desired animation of the pixels ofthe captured image of the object.